Only emit size-changed if the screen size actually changed.
authorMatthias Clasen <mclasen@redhat.com>
Wed, 22 Oct 2008 14:55:56 +0000 (14:55 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 22 Oct 2008 14:55:56 +0000 (14:55 +0000)
2008-10-22  Matthias Clasen  <mclasen@redhat.com>

        * gdk/x11/gdkscreen-x11.c: Only emit size-changed if the screen
        size actually changed.

svn path=/trunk/; revision=21698

ChangeLog
gdk/x11/gdkscreen-x11.c

index ed1d5feaf77c8736fbf2266fb7ecf825b5b3f41f..4d4d969f8160cecfc192ba4b5bbc390b6d346738 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-22  Matthias Clasen  <mclasen@redhat.com>
+
+       * gdk/x11/gdkscreen-x11.c: Only emit size-changed if the screen
+       size actually changed.
+
 2008-10-21  Michael Natterer  <mitch@imendio.com>
 
        * gdk/gdkdraw.c
index 6ba971445e547ef7f75d3301854db09b27a11e2a..bc564f6c8e4e047db9a57e0ba5a5143e4ad03a93 100644 (file)
@@ -894,6 +894,11 @@ void
 _gdk_x11_screen_size_changed (GdkScreen *screen,
                              XEvent    *event)
 {
+  gint width, height;
+
+  width = gdk_screen_get_width (screen);
+  height = gdk_screen_get_height (screen);
+
 #ifdef HAVE_RANDR
   if (!XRRUpdateConfiguration (event))
     return;
@@ -909,7 +914,11 @@ _gdk_x11_screen_size_changed (GdkScreen *screen,
   else
     return;
 #endif
-  
+
+  if (width == gdk_screen_get_width (screen) && 
+      height == gdk_screen_get_height (screen))
+    return;
+
   _gdk_x11_screen_process_monitors_change (screen);
   g_signal_emit_by_name (screen, "size_changed");
 }